
package com.bier.fishproject.utils;
import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;

import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.protocol.TProtocolException;
import org.apache.thrift.EncodingUtils;
import org.apache.thrift.TException;
import org.apache.thrift.async.AsyncMethodCallback;
import org.apache.thrift.server.AbstractNonblockingServer.*;
import android.annotation.SuppressLint;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class YLWWater {

  public interface Iface {

    public String reqCode(String aCard) throws org.apache.thrift.TException;

    public String doLogin(String aCard, String aCode, int aOSType) throws org.apache.thrift.TException;

    public String reqUserInfo(String aCard) throws org.apache.thrift.TException;

    public String reqListOfDev(String aCard) throws org.apache.thrift.TException;

    public String reqListOfDevByLoc(String aCard, double aLat, double aLon) throws org.apache.thrift.TException;

    public String startWater(String aCard, String aNum) throws org.apache.thrift.TException;

    public String stopWater(String aCard, String aNum) throws org.apache.thrift.TException;

    public String reqDevInfo(String aCard, String aNum) throws org.apache.thrift.TException;

    public String reqListOfDeal(String aCard, String aIdx) throws org.apache.thrift.TException;

    public String reqDealDetail(String aOrderNum) throws org.apache.thrift.TException;

    public String dealPrint(String aOrderNum) throws org.apache.thrift.TException;

  }

  public interface AsyncIface {

    public void reqCode(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void doLogin(String aCard, String aCode, int aOSType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void reqUserInfo(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void reqListOfDev(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void reqListOfDevByLoc(String aCard, double aLat, double aLon, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void startWater(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void stopWater(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void reqDevInfo(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void reqListOfDeal(String aCard, String aIdx, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void reqDealDetail(String aOrderNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

    public void dealPrint(String aOrderNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;

  }

  public static class Client extends org.apache.thrift.TServiceClient implements Iface {
    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
      public Factory() {}
      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
        return new Client(prot);
      }
      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(org.apache.thrift.protocol.TProtocol prot)
    {
      super(prot, prot);
    }

    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
      super(iprot, oprot);
    }

    public String reqCode(String aCard) throws org.apache.thrift.TException
    {
      send_reqCode(aCard);
      return recv_reqCode();
    }

    public void send_reqCode(String aCard) throws org.apache.thrift.TException
    {
      reqCode_args args = new reqCode_args();
      args.setACard(aCard);
      sendBase("reqCode", args);
    }

    public String recv_reqCode() throws org.apache.thrift.TException
    {
      reqCode_result result = new reqCode_result();
      receiveBase(result, "reqCode");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reqCode failed: unknown result");
    }

    public String doLogin(String aCard, String aCode, int aOSType) throws org.apache.thrift.TException
    {
      send_doLogin(aCard, aCode, aOSType);
      return recv_doLogin();
    }

    public void send_doLogin(String aCard, String aCode, int aOSType) throws org.apache.thrift.TException
    {
      doLogin_args args = new doLogin_args();
      args.setACard(aCard);
      args.setACode(aCode);
      args.setAOSType(aOSType);
      sendBase("doLogin", args);
    }

    public String recv_doLogin() throws org.apache.thrift.TException
    {
      doLogin_result result = new doLogin_result();
      receiveBase(result, "doLogin");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "doLogin failed: unknown result");
    }

    public String reqUserInfo(String aCard) throws org.apache.thrift.TException
    {
      send_reqUserInfo(aCard);
      return recv_reqUserInfo();
    }

    public void send_reqUserInfo(String aCard) throws org.apache.thrift.TException
    {
      reqUserInfo_args args = new reqUserInfo_args();
      args.setACard(aCard);
      sendBase("reqUserInfo", args);
    }

    public String recv_reqUserInfo() throws org.apache.thrift.TException
    {
      reqUserInfo_result result = new reqUserInfo_result();
      receiveBase(result, "reqUserInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reqUserInfo failed: unknown result");
    }

    public String reqListOfDev(String aCard) throws org.apache.thrift.TException
    {
      send_reqListOfDev(aCard);
      return recv_reqListOfDev();
    }

    public void send_reqListOfDev(String aCard) throws org.apache.thrift.TException
    {
      reqListOfDev_args args = new reqListOfDev_args();
      args.setACard(aCard);
      sendBase("reqListOfDev", args);
    }

    public String recv_reqListOfDev() throws org.apache.thrift.TException
    {
      reqListOfDev_result result = new reqListOfDev_result();
      receiveBase(result, "reqListOfDev");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reqListOfDev failed: unknown result");
    }

    public String reqListOfDevByLoc(String aCard, double aLat, double aLon) throws org.apache.thrift.TException
    {
      send_reqListOfDevByLoc(aCard, aLat, aLon);
      return recv_reqListOfDevByLoc();
    }

    public void send_reqListOfDevByLoc(String aCard, double aLat, double aLon) throws org.apache.thrift.TException
    {
      reqListOfDevByLoc_args args = new reqListOfDevByLoc_args();
      args.setACard(aCard);
      args.setALat(aLat);
      args.setALon(aLon);
      sendBase("reqListOfDevByLoc", args);
    }

    public String recv_reqListOfDevByLoc() throws org.apache.thrift.TException
    {
      reqListOfDevByLoc_result result = new reqListOfDevByLoc_result();
      receiveBase(result, "reqListOfDevByLoc");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reqListOfDevByLoc failed: unknown result");
    }

    public String startWater(String aCard, String aNum) throws org.apache.thrift.TException
    {
      send_startWater(aCard, aNum);
      return recv_startWater();
    }

    public void send_startWater(String aCard, String aNum) throws org.apache.thrift.TException
    {
      startWater_args args = new startWater_args();
      args.setACard(aCard);
      args.setANum(aNum);
      sendBase("startWater", args);
    }

    public String recv_startWater() throws org.apache.thrift.TException
    {
      startWater_result result = new startWater_result();
      receiveBase(result, "startWater");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "startWater failed: unknown result");
    }

    public String stopWater(String aCard, String aNum) throws org.apache.thrift.TException
    {
      send_stopWater(aCard, aNum);
      return recv_stopWater();
    }

    public void send_stopWater(String aCard, String aNum) throws org.apache.thrift.TException
    {
      stopWater_args args = new stopWater_args();
      args.setACard(aCard);
      args.setANum(aNum);
      sendBase("stopWater", args);
    }

    public String recv_stopWater() throws org.apache.thrift.TException
    {
      stopWater_result result = new stopWater_result();
      receiveBase(result, "stopWater");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "stopWater failed: unknown result");
    }

    public String reqDevInfo(String aCard, String aNum) throws org.apache.thrift.TException
    {
      send_reqDevInfo(aCard, aNum);
      return recv_reqDevInfo();
    }

    public void send_reqDevInfo(String aCard, String aNum) throws org.apache.thrift.TException
    {
      reqDevInfo_args args = new reqDevInfo_args();
      args.setACard(aCard);
      args.setANum(aNum);
      sendBase("reqDevInfo", args);
    }

    public String recv_reqDevInfo() throws org.apache.thrift.TException
    {
      reqDevInfo_result result = new reqDevInfo_result();
      receiveBase(result, "reqDevInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reqDevInfo failed: unknown result");
    }

    public String reqListOfDeal(String aCard, String aIdx) throws org.apache.thrift.TException
    {
      send_reqListOfDeal(aCard, aIdx);
      return recv_reqListOfDeal();
    }

    public void send_reqListOfDeal(String aCard, String aIdx) throws org.apache.thrift.TException
    {
      reqListOfDeal_args args = new reqListOfDeal_args();
      args.setACard(aCard);
      args.setAIdx(aIdx);
      sendBase("reqListOfDeal", args);
    }

    public String recv_reqListOfDeal() throws org.apache.thrift.TException
    {
      reqListOfDeal_result result = new reqListOfDeal_result();
      receiveBase(result, "reqListOfDeal");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reqListOfDeal failed: unknown result");
    }

    public String reqDealDetail(String aOrderNum) throws org.apache.thrift.TException
    {
      send_reqDealDetail(aOrderNum);
      return recv_reqDealDetail();
    }

    public void send_reqDealDetail(String aOrderNum) throws org.apache.thrift.TException
    {
      reqDealDetail_args args = new reqDealDetail_args();
      args.setAOrderNum(aOrderNum);
      sendBase("reqDealDetail", args);
    }

    public String recv_reqDealDetail() throws org.apache.thrift.TException
    {
      reqDealDetail_result result = new reqDealDetail_result();
      receiveBase(result, "reqDealDetail");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reqDealDetail failed: unknown result");
    }

    public String dealPrint(String aOrderNum) throws org.apache.thrift.TException
    {
      send_dealPrint(aOrderNum);
      return recv_dealPrint();
    }

    public void send_dealPrint(String aOrderNum) throws org.apache.thrift.TException
    {
      dealPrint_args args = new dealPrint_args();
      args.setAOrderNum(aOrderNum);
      sendBase("dealPrint", args);
    }

    public String recv_dealPrint() throws org.apache.thrift.TException
    {
      dealPrint_result result = new dealPrint_result();
      receiveBase(result, "dealPrint");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "dealPrint failed: unknown result");
    }

  }
  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
      private org.apache.thrift.async.TAsyncClientManager clientManager;
      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    public void reqCode(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reqCode_call method_call = new reqCode_call(aCard, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reqCode_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      public reqCode_call(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reqCode", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reqCode_args args = new reqCode_args();
        args.setACard(aCard);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reqCode();
      }
    }

    public void doLogin(String aCard, String aCode, int aOSType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      doLogin_call method_call = new doLogin_call(aCard, aCode, aOSType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class doLogin_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      private String aCode;
      private int aOSType;
      public doLogin_call(String aCard, String aCode, int aOSType, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
        this.aCode = aCode;
        this.aOSType = aOSType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("doLogin", org.apache.thrift.protocol.TMessageType.CALL, 0));
        doLogin_args args = new doLogin_args();
        args.setACard(aCard);
        args.setACode(aCode);
        args.setAOSType(aOSType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_doLogin();
      }
    }

    public void reqUserInfo(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reqUserInfo_call method_call = new reqUserInfo_call(aCard, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reqUserInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      public reqUserInfo_call(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reqUserInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reqUserInfo_args args = new reqUserInfo_args();
        args.setACard(aCard);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reqUserInfo();
      }
    }

    public void reqListOfDev(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reqListOfDev_call method_call = new reqListOfDev_call(aCard, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reqListOfDev_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      public reqListOfDev_call(String aCard, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reqListOfDev", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reqListOfDev_args args = new reqListOfDev_args();
        args.setACard(aCard);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reqListOfDev();
      }
    }

    public void reqListOfDevByLoc(String aCard, double aLat, double aLon, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reqListOfDevByLoc_call method_call = new reqListOfDevByLoc_call(aCard, aLat, aLon, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reqListOfDevByLoc_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      private double aLat;
      private double aLon;
      public reqListOfDevByLoc_call(String aCard, double aLat, double aLon, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
        this.aLat = aLat;
        this.aLon = aLon;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reqListOfDevByLoc", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reqListOfDevByLoc_args args = new reqListOfDevByLoc_args();
        args.setACard(aCard);
        args.setALat(aLat);
        args.setALon(aLon);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reqListOfDevByLoc();
      }
    }

    public void startWater(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      startWater_call method_call = new startWater_call(aCard, aNum, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class startWater_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      private String aNum;
      public startWater_call(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
        this.aNum = aNum;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("startWater", org.apache.thrift.protocol.TMessageType.CALL, 0));
        startWater_args args = new startWater_args();
        args.setACard(aCard);
        args.setANum(aNum);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_startWater();
      }
    }

    public void stopWater(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      stopWater_call method_call = new stopWater_call(aCard, aNum, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class stopWater_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      private String aNum;
      public stopWater_call(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
        this.aNum = aNum;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("stopWater", org.apache.thrift.protocol.TMessageType.CALL, 0));
        stopWater_args args = new stopWater_args();
        args.setACard(aCard);
        args.setANum(aNum);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_stopWater();
      }
    }

    public void reqDevInfo(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reqDevInfo_call method_call = new reqDevInfo_call(aCard, aNum, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reqDevInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      private String aNum;
      public reqDevInfo_call(String aCard, String aNum, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
        this.aNum = aNum;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reqDevInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reqDevInfo_args args = new reqDevInfo_args();
        args.setACard(aCard);
        args.setANum(aNum);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reqDevInfo();
      }
    }

    public void reqListOfDeal(String aCard, String aIdx, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reqListOfDeal_call method_call = new reqListOfDeal_call(aCard, aIdx, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reqListOfDeal_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aCard;
      private String aIdx;
      public reqListOfDeal_call(String aCard, String aIdx, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aCard = aCard;
        this.aIdx = aIdx;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reqListOfDeal", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reqListOfDeal_args args = new reqListOfDeal_args();
        args.setACard(aCard);
        args.setAIdx(aIdx);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reqListOfDeal();
      }
    }

    public void reqDealDetail(String aOrderNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reqDealDetail_call method_call = new reqDealDetail_call(aOrderNum, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reqDealDetail_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aOrderNum;
      public reqDealDetail_call(String aOrderNum, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aOrderNum = aOrderNum;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reqDealDetail", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reqDealDetail_args args = new reqDealDetail_args();
        args.setAOrderNum(aOrderNum);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reqDealDetail();
      }
    }

    public void dealPrint(String aOrderNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
      checkReady();
      dealPrint_call method_call = new dealPrint_call(aOrderNum, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class dealPrint_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String aOrderNum;
      public dealPrint_call(String aOrderNum, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.aOrderNum = aOrderNum;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("dealPrint", org.apache.thrift.protocol.TMessageType.CALL, 0));
        dealPrint_args args = new dealPrint_args();
        args.setAOrderNum(aOrderNum);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_dealPrint();
      }
    }

  }

  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
    }

    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      processMap.put("reqCode", new reqCode());
      processMap.put("doLogin", new doLogin());
      processMap.put("reqUserInfo", new reqUserInfo());
      processMap.put("reqListOfDev", new reqListOfDev());
      processMap.put("reqListOfDevByLoc", new reqListOfDevByLoc());
      processMap.put("startWater", new startWater());
      processMap.put("stopWater", new stopWater());
      processMap.put("reqDevInfo", new reqDevInfo());
      processMap.put("reqListOfDeal", new reqListOfDeal());
      processMap.put("reqDealDetail", new reqDealDetail());
      processMap.put("dealPrint", new dealPrint());
      return processMap;
    }

    public static class reqCode<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reqCode_args> {
      public reqCode() {
        super("reqCode");
      }

      public reqCode_args getEmptyArgsInstance() {
        return new reqCode_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public reqCode_result getResult(I iface, reqCode_args args) throws org.apache.thrift.TException {
        reqCode_result result = new reqCode_result();
        result.success = iface.reqCode(args.aCard);
        return result;
      }
    }

    public static class doLogin<I extends Iface> extends org.apache.thrift.ProcessFunction<I, doLogin_args> {
      public doLogin() {
        super("doLogin");
      }

      public doLogin_args getEmptyArgsInstance() {
        return new doLogin_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public doLogin_result getResult(I iface, doLogin_args args) throws org.apache.thrift.TException {
        doLogin_result result = new doLogin_result();
        result.success = iface.doLogin(args.aCard, args.aCode, args.aOSType);
        return result;
      }
    }

    public static class reqUserInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reqUserInfo_args> {
      public reqUserInfo() {
        super("reqUserInfo");
      }

      public reqUserInfo_args getEmptyArgsInstance() {
        return new reqUserInfo_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public reqUserInfo_result getResult(I iface, reqUserInfo_args args) throws org.apache.thrift.TException {
        reqUserInfo_result result = new reqUserInfo_result();
        result.success = iface.reqUserInfo(args.aCard);
        return result;
      }
    }

    public static class reqListOfDev<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reqListOfDev_args> {
      public reqListOfDev() {
        super("reqListOfDev");
      }

      public reqListOfDev_args getEmptyArgsInstance() {
        return new reqListOfDev_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public reqListOfDev_result getResult(I iface, reqListOfDev_args args) throws org.apache.thrift.TException {
        reqListOfDev_result result = new reqListOfDev_result();
        result.success = iface.reqListOfDev(args.aCard);
        return result;
      }
    }

    public static class reqListOfDevByLoc<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reqListOfDevByLoc_args> {
      public reqListOfDevByLoc() {
        super("reqListOfDevByLoc");
      }

      public reqListOfDevByLoc_args getEmptyArgsInstance() {
        return new reqListOfDevByLoc_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public reqListOfDevByLoc_result getResult(I iface, reqListOfDevByLoc_args args) throws org.apache.thrift.TException {
        reqListOfDevByLoc_result result = new reqListOfDevByLoc_result();
        result.success = iface.reqListOfDevByLoc(args.aCard, args.aLat, args.aLon);
        return result;
      }
    }

    public static class startWater<I extends Iface> extends org.apache.thrift.ProcessFunction<I, startWater_args> {
      public startWater() {
        super("startWater");
      }

      public startWater_args getEmptyArgsInstance() {
        return new startWater_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public startWater_result getResult(I iface, startWater_args args) throws org.apache.thrift.TException {
        startWater_result result = new startWater_result();
        result.success = iface.startWater(args.aCard, args.aNum);
        return result;
      }
    }

    public static class stopWater<I extends Iface> extends org.apache.thrift.ProcessFunction<I, stopWater_args> {
      public stopWater() {
        super("stopWater");
      }

      public stopWater_args getEmptyArgsInstance() {
        return new stopWater_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public stopWater_result getResult(I iface, stopWater_args args) throws org.apache.thrift.TException {
        stopWater_result result = new stopWater_result();
        result.success = iface.stopWater(args.aCard, args.aNum);
        return result;
      }
    }

    public static class reqDevInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reqDevInfo_args> {
      public reqDevInfo() {
        super("reqDevInfo");
      }

      public reqDevInfo_args getEmptyArgsInstance() {
        return new reqDevInfo_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public reqDevInfo_result getResult(I iface, reqDevInfo_args args) throws org.apache.thrift.TException {
        reqDevInfo_result result = new reqDevInfo_result();
        result.success = iface.reqDevInfo(args.aCard, args.aNum);
        return result;
      }
    }

    public static class reqListOfDeal<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reqListOfDeal_args> {
      public reqListOfDeal() {
        super("reqListOfDeal");
      }

      public reqListOfDeal_args getEmptyArgsInstance() {
        return new reqListOfDeal_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public reqListOfDeal_result getResult(I iface, reqListOfDeal_args args) throws org.apache.thrift.TException {
        reqListOfDeal_result result = new reqListOfDeal_result();
        result.success = iface.reqListOfDeal(args.aCard, args.aIdx);
        return result;
      }
    }

    public static class reqDealDetail<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reqDealDetail_args> {
      public reqDealDetail() {
        super("reqDealDetail");
      }

      public reqDealDetail_args getEmptyArgsInstance() {
        return new reqDealDetail_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public reqDealDetail_result getResult(I iface, reqDealDetail_args args) throws org.apache.thrift.TException {
        reqDealDetail_result result = new reqDealDetail_result();
        result.success = iface.reqDealDetail(args.aOrderNum);
        return result;
      }
    }

    public static class dealPrint<I extends Iface> extends org.apache.thrift.ProcessFunction<I, dealPrint_args> {
      public dealPrint() {
        super("dealPrint");
      }

      public dealPrint_args getEmptyArgsInstance() {
        return new dealPrint_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public dealPrint_result getResult(I iface, dealPrint_args args) throws org.apache.thrift.TException {
        dealPrint_result result = new dealPrint_result();
        result.success = iface.dealPrint(args.aOrderNum);
        return result;
      }
    }

  }

  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
    public AsyncProcessor(I iface) {
      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
    }

    protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
      processMap.put("reqCode", new reqCode());
      processMap.put("doLogin", new doLogin());
      processMap.put("reqUserInfo", new reqUserInfo());
      processMap.put("reqListOfDev", new reqListOfDev());
      processMap.put("reqListOfDevByLoc", new reqListOfDevByLoc());
      processMap.put("startWater", new startWater());
      processMap.put("stopWater", new stopWater());
      processMap.put("reqDevInfo", new reqDevInfo());
      processMap.put("reqListOfDeal", new reqListOfDeal());
      processMap.put("reqDealDetail", new reqDealDetail());
      processMap.put("dealPrint", new dealPrint());
      return processMap;
    }

    public static class reqCode<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, reqCode_args, String> {
      public reqCode() {
        super("reqCode");
      }

      public reqCode_args getEmptyArgsInstance() {
        return new reqCode_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            reqCode_result result = new reqCode_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            reqCode_result result = new reqCode_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, reqCode_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.reqCode(args.aCard,resultHandler);
      }
    }

    public static class doLogin<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, doLogin_args, String> {
      public doLogin() {
        super("doLogin");
      }

      public doLogin_args getEmptyArgsInstance() {
        return new doLogin_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            doLogin_result result = new doLogin_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            doLogin_result result = new doLogin_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, doLogin_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.doLogin(args.aCard, args.aCode, args.aOSType,resultHandler);
      }
    }

    public static class reqUserInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, reqUserInfo_args, String> {
      public reqUserInfo() {
        super("reqUserInfo");
      }

      public reqUserInfo_args getEmptyArgsInstance() {
        return new reqUserInfo_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            reqUserInfo_result result = new reqUserInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            reqUserInfo_result result = new reqUserInfo_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, reqUserInfo_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.reqUserInfo(args.aCard,resultHandler);
      }
    }

    public static class reqListOfDev<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, reqListOfDev_args, String> {
      public reqListOfDev() {
        super("reqListOfDev");
      }

      public reqListOfDev_args getEmptyArgsInstance() {
        return new reqListOfDev_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            reqListOfDev_result result = new reqListOfDev_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            reqListOfDev_result result = new reqListOfDev_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, reqListOfDev_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.reqListOfDev(args.aCard,resultHandler);
      }
    }

    public static class reqListOfDevByLoc<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, reqListOfDevByLoc_args, String> {
      public reqListOfDevByLoc() {
        super("reqListOfDevByLoc");
      }

      public reqListOfDevByLoc_args getEmptyArgsInstance() {
        return new reqListOfDevByLoc_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            reqListOfDevByLoc_result result = new reqListOfDevByLoc_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            reqListOfDevByLoc_result result = new reqListOfDevByLoc_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, reqListOfDevByLoc_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.reqListOfDevByLoc(args.aCard, args.aLat, args.aLon,resultHandler);
      }
    }

    public static class startWater<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, startWater_args, String> {
      public startWater() {
        super("startWater");
      }

      public startWater_args getEmptyArgsInstance() {
        return new startWater_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            startWater_result result = new startWater_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            startWater_result result = new startWater_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, startWater_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.startWater(args.aCard, args.aNum,resultHandler);
      }
    }

    public static class stopWater<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, stopWater_args, String> {
      public stopWater() {
        super("stopWater");
      }

      public stopWater_args getEmptyArgsInstance() {
        return new stopWater_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            stopWater_result result = new stopWater_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            stopWater_result result = new stopWater_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, stopWater_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.stopWater(args.aCard, args.aNum,resultHandler);
      }
    }

    public static class reqDevInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, reqDevInfo_args, String> {
      public reqDevInfo() {
        super("reqDevInfo");
      }

      public reqDevInfo_args getEmptyArgsInstance() {
        return new reqDevInfo_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            reqDevInfo_result result = new reqDevInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            reqDevInfo_result result = new reqDevInfo_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, reqDevInfo_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.reqDevInfo(args.aCard, args.aNum,resultHandler);
      }
    }

    public static class reqListOfDeal<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, reqListOfDeal_args, String> {
      public reqListOfDeal() {
        super("reqListOfDeal");
      }

      public reqListOfDeal_args getEmptyArgsInstance() {
        return new reqListOfDeal_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            reqListOfDeal_result result = new reqListOfDeal_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            reqListOfDeal_result result = new reqListOfDeal_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, reqListOfDeal_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.reqListOfDeal(args.aCard, args.aIdx,resultHandler);
      }
    }

    public static class reqDealDetail<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, reqDealDetail_args, String> {
      public reqDealDetail() {
        super("reqDealDetail");
      }

      public reqDealDetail_args getEmptyArgsInstance() {
        return new reqDealDetail_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            reqDealDetail_result result = new reqDealDetail_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            reqDealDetail_result result = new reqDealDetail_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, reqDealDetail_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.reqDealDetail(args.aOrderNum,resultHandler);
      }
    }

    public static class dealPrint<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, dealPrint_args, String> {
      public dealPrint() {
        super("dealPrint");
      }

      public dealPrint_args getEmptyArgsInstance() {
        return new dealPrint_args();
      }

      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final org.apache.thrift.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback<String>() { 
          public void onComplete(String o) {
            dealPrint_result result = new dealPrint_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
              return;
            } catch (Exception e) {
              LOGGER.error("Exception writing to internal frame buffer", e);
            }
            fb.close();
          }
          public void onError(Exception e) {
            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
            org.apache.thrift.TBase msg;
            dealPrint_result result = new dealPrint_result();
            {
              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
              return;
            } catch (Exception ex) {
              LOGGER.error("Exception writing to internal frame buffer", ex);
            }
            fb.close();
          }
        };
      }

      protected boolean isOneway() {
        return false;
      }

      public void start(I iface, dealPrint_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
        iface.dealPrint(args.aOrderNum,resultHandler);
      }
    }

  }

  public static class reqCode_args implements org.apache.thrift.TBase<reqCode_args, reqCode_args._Fields>, java.io.Serializable, Cloneable, Comparable<reqCode_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqCode_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqCode_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqCode_argsTupleSchemeFactory());
    }

    public String aCard; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqCode_args.class, metaDataMap);
    }

    public reqCode_args() {
    }

    public reqCode_args(
      String aCard)
    {
      this();
      this.aCard = aCard;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqCode_args(reqCode_args other) {
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
    }

    public reqCode_args deepCopy() {
      return new reqCode_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
    }

    public String getACard() {
      return this.aCard;
    }

    public reqCode_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqCode_args)
        return this.equals((reqCode_args)that);
      return false;
    }

    public boolean equals(reqCode_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqCode_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqCode_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqCode_argsStandardSchemeFactory implements SchemeFactory {
      public reqCode_argsStandardScheme getScheme() {
        return new reqCode_argsStandardScheme();
      }
    }

    private static class reqCode_argsStandardScheme extends StandardScheme<reqCode_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqCode_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqCode_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqCode_argsTupleSchemeFactory implements SchemeFactory {
      public reqCode_argsTupleScheme getScheme() {
        return new reqCode_argsTupleScheme();
      }
    }

    private static class reqCode_argsTupleScheme extends TupleScheme<reqCode_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqCode_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqCode_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
      }
    }

  }

  public static class reqCode_result implements org.apache.thrift.TBase<reqCode_result, reqCode_result._Fields>, java.io.Serializable, Cloneable, Comparable<reqCode_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqCode_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqCode_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqCode_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqCode_result.class, metaDataMap);
    }

    public reqCode_result() {
    }

    public reqCode_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqCode_result(reqCode_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public reqCode_result deepCopy() {
      return new reqCode_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public reqCode_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqCode_result)
        return this.equals((reqCode_result)that);
      return false;
    }

    public boolean equals(reqCode_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqCode_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqCode_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    @SuppressLint("NewApi") private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    @SuppressLint("NewApi") private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqCode_resultStandardSchemeFactory implements SchemeFactory {
      public reqCode_resultStandardScheme getScheme() {
        return new reqCode_resultStandardScheme();
      }
    }

    private static class reqCode_resultStandardScheme extends StandardScheme<reqCode_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqCode_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqCode_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqCode_resultTupleSchemeFactory implements SchemeFactory {
      public reqCode_resultTupleScheme getScheme() {
        return new reqCode_resultTupleScheme();
      }
    }

    private static class reqCode_resultTupleScheme extends TupleScheme<reqCode_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqCode_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqCode_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class doLogin_args implements org.apache.thrift.TBase<doLogin_args, doLogin_args._Fields>, java.io.Serializable, Cloneable, Comparable<doLogin_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doLogin_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField A_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("aCode", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField A_OSTYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("aOSType", org.apache.thrift.protocol.TType.I32, (short)3);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new doLogin_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new doLogin_argsTupleSchemeFactory());
    }

    public String aCard; // required
    public String aCode; // required
    public int aOSType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard"),
      A_CODE((short)2, "aCode"),
      A_OSTYPE((short)3, "aOSType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          case 2: // A_CODE
            return A_CODE;
          case 3: // A_OSTYPE
            return A_OSTYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __AOSTYPE_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.A_CODE, new org.apache.thrift.meta_data.FieldMetaData("aCode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.A_OSTYPE, new org.apache.thrift.meta_data.FieldMetaData("aOSType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(doLogin_args.class, metaDataMap);
    }

    public doLogin_args() {
    }

    public doLogin_args(
      String aCard,
      String aCode,
      int aOSType)
    {
      this();
      this.aCard = aCard;
      this.aCode = aCode;
      this.aOSType = aOSType;
      setAOSTypeIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public doLogin_args(doLogin_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
      if (other.isSetACode()) {
        this.aCode = other.aCode;
      }
      this.aOSType = other.aOSType;
    }

    public doLogin_args deepCopy() {
      return new doLogin_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
      this.aCode = null;
      setAOSTypeIsSet(false);
      this.aOSType = 0;
    }

    public String getACard() {
      return this.aCard;
    }

    public doLogin_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public String getACode() {
      return this.aCode;
    }

    public doLogin_args setACode(String aCode) {
      this.aCode = aCode;
      return this;
    }

    public void unsetACode() {
      this.aCode = null;
    }

    /** Returns true if field aCode is set (has been assigned a value) and false otherwise */
    public boolean isSetACode() {
      return this.aCode != null;
    }

    public void setACodeIsSet(boolean value) {
      if (!value) {
        this.aCode = null;
      }
    }

    public int getAOSType() {
      return this.aOSType;
    }

    public doLogin_args setAOSType(int aOSType) {
      this.aOSType = aOSType;
      setAOSTypeIsSet(true);
      return this;
    }

    public void unsetAOSType() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AOSTYPE_ISSET_ID);
    }

    /** Returns true if field aOSType is set (has been assigned a value) and false otherwise */
    public boolean isSetAOSType() {
      return EncodingUtils.testBit(__isset_bitfield, __AOSTYPE_ISSET_ID);
    }

    public void setAOSTypeIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AOSTYPE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      case A_CODE:
        if (value == null) {
          unsetACode();
        } else {
          setACode((String)value);
        }
        break;

      case A_OSTYPE:
        if (value == null) {
          unsetAOSType();
        } else {
          setAOSType((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      case A_CODE:
        return getACode();

      case A_OSTYPE:
        return Integer.valueOf(getAOSType());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      case A_CODE:
        return isSetACode();
      case A_OSTYPE:
        return isSetAOSType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof doLogin_args)
        return this.equals((doLogin_args)that);
      return false;
    }

    public boolean equals(doLogin_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      boolean this_present_aCode = true && this.isSetACode();
      boolean that_present_aCode = true && that.isSetACode();
      if (this_present_aCode || that_present_aCode) {
        if (!(this_present_aCode && that_present_aCode))
          return false;
        if (!this.aCode.equals(that.aCode))
          return false;
      }

      boolean this_present_aOSType = true;
      boolean that_present_aOSType = true;
      if (this_present_aOSType || that_present_aOSType) {
        if (!(this_present_aOSType && that_present_aOSType))
          return false;
        if (this.aOSType != that.aOSType)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(doLogin_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetACode()).compareTo(other.isSetACode());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACode()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCode, other.aCode);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAOSType()).compareTo(other.isSetAOSType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAOSType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aOSType, other.aOSType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("doLogin_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aCode:");
      if (this.aCode == null) {
        sb.append("null");
      } else {
        sb.append(this.aCode);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aOSType:");
      sb.append(this.aOSType);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class doLogin_argsStandardSchemeFactory implements SchemeFactory {
      public doLogin_argsStandardScheme getScheme() {
        return new doLogin_argsStandardScheme();
      }
    }

    private static class doLogin_argsStandardScheme extends StandardScheme<doLogin_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, doLogin_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // A_CODE
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCode = iprot.readString();
                struct.setACodeIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // A_OSTYPE
              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                struct.aOSType = iprot.readI32();
                struct.setAOSTypeIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, doLogin_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        if (struct.aCode != null) {
          oprot.writeFieldBegin(A_CODE_FIELD_DESC);
          oprot.writeString(struct.aCode);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(A_OSTYPE_FIELD_DESC);
        oprot.writeI32(struct.aOSType);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class doLogin_argsTupleSchemeFactory implements SchemeFactory {
      public doLogin_argsTupleScheme getScheme() {
        return new doLogin_argsTupleScheme();
      }
    }

    private static class doLogin_argsTupleScheme extends TupleScheme<doLogin_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, doLogin_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        if (struct.isSetACode()) {
          optionals.set(1);
        }
        if (struct.isSetAOSType()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
        if (struct.isSetACode()) {
          oprot.writeString(struct.aCode);
        }
        if (struct.isSetAOSType()) {
          oprot.writeI32(struct.aOSType);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, doLogin_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
        if (incoming.get(1)) {
          struct.aCode = iprot.readString();
          struct.setACodeIsSet(true);
        }
        if (incoming.get(2)) {
          struct.aOSType = iprot.readI32();
          struct.setAOSTypeIsSet(true);
        }
      }
    }

  }

  public static class doLogin_result implements org.apache.thrift.TBase<doLogin_result, doLogin_result._Fields>, java.io.Serializable, Cloneable, Comparable<doLogin_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doLogin_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new doLogin_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new doLogin_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(doLogin_result.class, metaDataMap);
    }

    public doLogin_result() {
    }

    public doLogin_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public doLogin_result(doLogin_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public doLogin_result deepCopy() {
      return new doLogin_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public doLogin_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof doLogin_result)
        return this.equals((doLogin_result)that);
      return false;
    }

    public boolean equals(doLogin_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(doLogin_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("doLogin_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class doLogin_resultStandardSchemeFactory implements SchemeFactory {
      public doLogin_resultStandardScheme getScheme() {
        return new doLogin_resultStandardScheme();
      }
    }

    private static class doLogin_resultStandardScheme extends StandardScheme<doLogin_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, doLogin_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, doLogin_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class doLogin_resultTupleSchemeFactory implements SchemeFactory {
      public doLogin_resultTupleScheme getScheme() {
        return new doLogin_resultTupleScheme();
      }
    }

    private static class doLogin_resultTupleScheme extends TupleScheme<doLogin_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, doLogin_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, doLogin_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class reqUserInfo_args implements org.apache.thrift.TBase<reqUserInfo_args, reqUserInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<reqUserInfo_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqUserInfo_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqUserInfo_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqUserInfo_argsTupleSchemeFactory());
    }

    public String aCard; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqUserInfo_args.class, metaDataMap);
    }

    public reqUserInfo_args() {
    }

    public reqUserInfo_args(
      String aCard)
    {
      this();
      this.aCard = aCard;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqUserInfo_args(reqUserInfo_args other) {
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
    }

    public reqUserInfo_args deepCopy() {
      return new reqUserInfo_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
    }

    public String getACard() {
      return this.aCard;
    }

    public reqUserInfo_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqUserInfo_args)
        return this.equals((reqUserInfo_args)that);
      return false;
    }

    public boolean equals(reqUserInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqUserInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqUserInfo_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqUserInfo_argsStandardSchemeFactory implements SchemeFactory {
      public reqUserInfo_argsStandardScheme getScheme() {
        return new reqUserInfo_argsStandardScheme();
      }
    }

    private static class reqUserInfo_argsStandardScheme extends StandardScheme<reqUserInfo_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqUserInfo_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqUserInfo_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqUserInfo_argsTupleSchemeFactory implements SchemeFactory {
      public reqUserInfo_argsTupleScheme getScheme() {
        return new reqUserInfo_argsTupleScheme();
      }
    }

    private static class reqUserInfo_argsTupleScheme extends TupleScheme<reqUserInfo_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqUserInfo_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqUserInfo_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
      }
    }

  }

  public static class reqUserInfo_result implements org.apache.thrift.TBase<reqUserInfo_result, reqUserInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<reqUserInfo_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqUserInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqUserInfo_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqUserInfo_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqUserInfo_result.class, metaDataMap);
    }

    public reqUserInfo_result() {
    }

    public reqUserInfo_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqUserInfo_result(reqUserInfo_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public reqUserInfo_result deepCopy() {
      return new reqUserInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public reqUserInfo_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqUserInfo_result)
        return this.equals((reqUserInfo_result)that);
      return false;
    }

    public boolean equals(reqUserInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqUserInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqUserInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqUserInfo_resultStandardSchemeFactory implements SchemeFactory {
      public reqUserInfo_resultStandardScheme getScheme() {
        return new reqUserInfo_resultStandardScheme();
      }
    }

    private static class reqUserInfo_resultStandardScheme extends StandardScheme<reqUserInfo_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqUserInfo_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqUserInfo_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqUserInfo_resultTupleSchemeFactory implements SchemeFactory {
      public reqUserInfo_resultTupleScheme getScheme() {
        return new reqUserInfo_resultTupleScheme();
      }
    }

    private static class reqUserInfo_resultTupleScheme extends TupleScheme<reqUserInfo_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqUserInfo_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqUserInfo_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class reqListOfDev_args implements org.apache.thrift.TBase<reqListOfDev_args, reqListOfDev_args._Fields>, java.io.Serializable, Cloneable, Comparable<reqListOfDev_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqListOfDev_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqListOfDev_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqListOfDev_argsTupleSchemeFactory());
    }

    public String aCard; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqListOfDev_args.class, metaDataMap);
    }

    public reqListOfDev_args() {
    }

    public reqListOfDev_args(
      String aCard)
    {
      this();
      this.aCard = aCard;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqListOfDev_args(reqListOfDev_args other) {
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
    }

    public reqListOfDev_args deepCopy() {
      return new reqListOfDev_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
    }

    public String getACard() {
      return this.aCard;
    }

    public reqListOfDev_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqListOfDev_args)
        return this.equals((reqListOfDev_args)that);
      return false;
    }

    public boolean equals(reqListOfDev_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqListOfDev_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqListOfDev_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqListOfDev_argsStandardSchemeFactory implements SchemeFactory {
      public reqListOfDev_argsStandardScheme getScheme() {
        return new reqListOfDev_argsStandardScheme();
      }
    }

    private static class reqListOfDev_argsStandardScheme extends StandardScheme<reqListOfDev_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqListOfDev_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqListOfDev_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqListOfDev_argsTupleSchemeFactory implements SchemeFactory {
      public reqListOfDev_argsTupleScheme getScheme() {
        return new reqListOfDev_argsTupleScheme();
      }
    }

    private static class reqListOfDev_argsTupleScheme extends TupleScheme<reqListOfDev_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqListOfDev_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqListOfDev_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
      }
    }

  }

  public static class reqListOfDev_result implements org.apache.thrift.TBase<reqListOfDev_result, reqListOfDev_result._Fields>, java.io.Serializable, Cloneable, Comparable<reqListOfDev_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqListOfDev_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqListOfDev_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqListOfDev_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqListOfDev_result.class, metaDataMap);
    }

    public reqListOfDev_result() {
    }

    public reqListOfDev_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqListOfDev_result(reqListOfDev_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public reqListOfDev_result deepCopy() {
      return new reqListOfDev_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public reqListOfDev_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqListOfDev_result)
        return this.equals((reqListOfDev_result)that);
      return false;
    }

    public boolean equals(reqListOfDev_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqListOfDev_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqListOfDev_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqListOfDev_resultStandardSchemeFactory implements SchemeFactory {
      public reqListOfDev_resultStandardScheme getScheme() {
        return new reqListOfDev_resultStandardScheme();
      }
    }

    private static class reqListOfDev_resultStandardScheme extends StandardScheme<reqListOfDev_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqListOfDev_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqListOfDev_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqListOfDev_resultTupleSchemeFactory implements SchemeFactory {
      public reqListOfDev_resultTupleScheme getScheme() {
        return new reqListOfDev_resultTupleScheme();
      }
    }

    private static class reqListOfDev_resultTupleScheme extends TupleScheme<reqListOfDev_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqListOfDev_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqListOfDev_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class reqListOfDevByLoc_args implements org.apache.thrift.TBase<reqListOfDevByLoc_args, reqListOfDevByLoc_args._Fields>, java.io.Serializable, Cloneable, Comparable<reqListOfDevByLoc_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqListOfDevByLoc_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField A_LAT_FIELD_DESC = new org.apache.thrift.protocol.TField("aLat", org.apache.thrift.protocol.TType.DOUBLE, (short)2);
    private static final org.apache.thrift.protocol.TField A_LON_FIELD_DESC = new org.apache.thrift.protocol.TField("aLon", org.apache.thrift.protocol.TType.DOUBLE, (short)3);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqListOfDevByLoc_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqListOfDevByLoc_argsTupleSchemeFactory());
    }

    public String aCard; // required
    public double aLat; // required
    public double aLon; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard"),
      A_LAT((short)2, "aLat"),
      A_LON((short)3, "aLon");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          case 2: // A_LAT
            return A_LAT;
          case 3: // A_LON
            return A_LON;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ALAT_ISSET_ID = 0;
    private static final int __ALON_ISSET_ID = 1;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.A_LAT, new org.apache.thrift.meta_data.FieldMetaData("aLat", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.A_LON, new org.apache.thrift.meta_data.FieldMetaData("aLon", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqListOfDevByLoc_args.class, metaDataMap);
    }

    public reqListOfDevByLoc_args() {
    }

    public reqListOfDevByLoc_args(
      String aCard,
      double aLat,
      double aLon)
    {
      this();
      this.aCard = aCard;
      this.aLat = aLat;
      setALatIsSet(true);
      this.aLon = aLon;
      setALonIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqListOfDevByLoc_args(reqListOfDevByLoc_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
      this.aLat = other.aLat;
      this.aLon = other.aLon;
    }

    public reqListOfDevByLoc_args deepCopy() {
      return new reqListOfDevByLoc_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
      setALatIsSet(false);
      this.aLat = 0.0;
      setALonIsSet(false);
      this.aLon = 0.0;
    }

    public String getACard() {
      return this.aCard;
    }

    public reqListOfDevByLoc_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public double getALat() {
      return this.aLat;
    }

    public reqListOfDevByLoc_args setALat(double aLat) {
      this.aLat = aLat;
      setALatIsSet(true);
      return this;
    }

    public void unsetALat() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ALAT_ISSET_ID);
    }

    /** Returns true if field aLat is set (has been assigned a value) and false otherwise */
    public boolean isSetALat() {
      return EncodingUtils.testBit(__isset_bitfield, __ALAT_ISSET_ID);
    }

    public void setALatIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ALAT_ISSET_ID, value);
    }

    public double getALon() {
      return this.aLon;
    }

    public reqListOfDevByLoc_args setALon(double aLon) {
      this.aLon = aLon;
      setALonIsSet(true);
      return this;
    }

    public void unsetALon() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ALON_ISSET_ID);
    }

    /** Returns true if field aLon is set (has been assigned a value) and false otherwise */
    public boolean isSetALon() {
      return EncodingUtils.testBit(__isset_bitfield, __ALON_ISSET_ID);
    }

    public void setALonIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ALON_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      case A_LAT:
        if (value == null) {
          unsetALat();
        } else {
          setALat((Double)value);
        }
        break;

      case A_LON:
        if (value == null) {
          unsetALon();
        } else {
          setALon((Double)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      case A_LAT:
        return Double.valueOf(getALat());

      case A_LON:
        return Double.valueOf(getALon());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      case A_LAT:
        return isSetALat();
      case A_LON:
        return isSetALon();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqListOfDevByLoc_args)
        return this.equals((reqListOfDevByLoc_args)that);
      return false;
    }

    public boolean equals(reqListOfDevByLoc_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      boolean this_present_aLat = true;
      boolean that_present_aLat = true;
      if (this_present_aLat || that_present_aLat) {
        if (!(this_present_aLat && that_present_aLat))
          return false;
        if (this.aLat != that.aLat)
          return false;
      }

      boolean this_present_aLon = true;
      boolean that_present_aLon = true;
      if (this_present_aLon || that_present_aLon) {
        if (!(this_present_aLon && that_present_aLon))
          return false;
        if (this.aLon != that.aLon)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqListOfDevByLoc_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetALat()).compareTo(other.isSetALat());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetALat()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aLat, other.aLat);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetALon()).compareTo(other.isSetALon());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetALon()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aLon, other.aLon);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqListOfDevByLoc_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aLat:");
      sb.append(this.aLat);
      first = false;
      if (!first) sb.append(", ");
      sb.append("aLon:");
      sb.append(this.aLon);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqListOfDevByLoc_argsStandardSchemeFactory implements SchemeFactory {
      public reqListOfDevByLoc_argsStandardScheme getScheme() {
        return new reqListOfDevByLoc_argsStandardScheme();
      }
    }

    private static class reqListOfDevByLoc_argsStandardScheme extends StandardScheme<reqListOfDevByLoc_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqListOfDevByLoc_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // A_LAT
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.aLat = iprot.readDouble();
                struct.setALatIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // A_LON
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.aLon = iprot.readDouble();
                struct.setALonIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqListOfDevByLoc_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(A_LAT_FIELD_DESC);
        oprot.writeDouble(struct.aLat);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(A_LON_FIELD_DESC);
        oprot.writeDouble(struct.aLon);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqListOfDevByLoc_argsTupleSchemeFactory implements SchemeFactory {
      public reqListOfDevByLoc_argsTupleScheme getScheme() {
        return new reqListOfDevByLoc_argsTupleScheme();
      }
    }

    private static class reqListOfDevByLoc_argsTupleScheme extends TupleScheme<reqListOfDevByLoc_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqListOfDevByLoc_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        if (struct.isSetALat()) {
          optionals.set(1);
        }
        if (struct.isSetALon()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
        if (struct.isSetALat()) {
          oprot.writeDouble(struct.aLat);
        }
        if (struct.isSetALon()) {
          oprot.writeDouble(struct.aLon);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqListOfDevByLoc_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
        if (incoming.get(1)) {
          struct.aLat = iprot.readDouble();
          struct.setALatIsSet(true);
        }
        if (incoming.get(2)) {
          struct.aLon = iprot.readDouble();
          struct.setALonIsSet(true);
        }
      }
    }

  }

  public static class reqListOfDevByLoc_result implements org.apache.thrift.TBase<reqListOfDevByLoc_result, reqListOfDevByLoc_result._Fields>, java.io.Serializable, Cloneable, Comparable<reqListOfDevByLoc_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqListOfDevByLoc_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqListOfDevByLoc_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqListOfDevByLoc_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqListOfDevByLoc_result.class, metaDataMap);
    }

    public reqListOfDevByLoc_result() {
    }

    public reqListOfDevByLoc_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqListOfDevByLoc_result(reqListOfDevByLoc_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public reqListOfDevByLoc_result deepCopy() {
      return new reqListOfDevByLoc_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public reqListOfDevByLoc_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqListOfDevByLoc_result)
        return this.equals((reqListOfDevByLoc_result)that);
      return false;
    }

    public boolean equals(reqListOfDevByLoc_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqListOfDevByLoc_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqListOfDevByLoc_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqListOfDevByLoc_resultStandardSchemeFactory implements SchemeFactory {
      public reqListOfDevByLoc_resultStandardScheme getScheme() {
        return new reqListOfDevByLoc_resultStandardScheme();
      }
    }

    private static class reqListOfDevByLoc_resultStandardScheme extends StandardScheme<reqListOfDevByLoc_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqListOfDevByLoc_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqListOfDevByLoc_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqListOfDevByLoc_resultTupleSchemeFactory implements SchemeFactory {
      public reqListOfDevByLoc_resultTupleScheme getScheme() {
        return new reqListOfDevByLoc_resultTupleScheme();
      }
    }

    private static class reqListOfDevByLoc_resultTupleScheme extends TupleScheme<reqListOfDevByLoc_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqListOfDevByLoc_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqListOfDevByLoc_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class startWater_args implements org.apache.thrift.TBase<startWater_args, startWater_args._Fields>, java.io.Serializable, Cloneable, Comparable<startWater_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startWater_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField A_NUM_FIELD_DESC = new org.apache.thrift.protocol.TField("aNum", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startWater_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startWater_argsTupleSchemeFactory());
    }

    public String aCard; // required
    public String aNum; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard"),
      A_NUM((short)2, "aNum");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          case 2: // A_NUM
            return A_NUM;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.A_NUM, new org.apache.thrift.meta_data.FieldMetaData("aNum", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startWater_args.class, metaDataMap);
    }

    public startWater_args() {
    }

    public startWater_args(
      String aCard,
      String aNum)
    {
      this();
      this.aCard = aCard;
      this.aNum = aNum;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startWater_args(startWater_args other) {
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
      if (other.isSetANum()) {
        this.aNum = other.aNum;
      }
    }

    public startWater_args deepCopy() {
      return new startWater_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
      this.aNum = null;
    }

    public String getACard() {
      return this.aCard;
    }

    public startWater_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public String getANum() {
      return this.aNum;
    }

    public startWater_args setANum(String aNum) {
      this.aNum = aNum;
      return this;
    }

    public void unsetANum() {
      this.aNum = null;
    }

    /** Returns true if field aNum is set (has been assigned a value) and false otherwise */
    public boolean isSetANum() {
      return this.aNum != null;
    }

    public void setANumIsSet(boolean value) {
      if (!value) {
        this.aNum = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      case A_NUM:
        if (value == null) {
          unsetANum();
        } else {
          setANum((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      case A_NUM:
        return getANum();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      case A_NUM:
        return isSetANum();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startWater_args)
        return this.equals((startWater_args)that);
      return false;
    }

    public boolean equals(startWater_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      boolean this_present_aNum = true && this.isSetANum();
      boolean that_present_aNum = true && that.isSetANum();
      if (this_present_aNum || that_present_aNum) {
        if (!(this_present_aNum && that_present_aNum))
          return false;
        if (!this.aNum.equals(that.aNum))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(startWater_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetANum()).compareTo(other.isSetANum());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetANum()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aNum, other.aNum);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startWater_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aNum:");
      if (this.aNum == null) {
        sb.append("null");
      } else {
        sb.append(this.aNum);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startWater_argsStandardSchemeFactory implements SchemeFactory {
      public startWater_argsStandardScheme getScheme() {
        return new startWater_argsStandardScheme();
      }
    }

    private static class startWater_argsStandardScheme extends StandardScheme<startWater_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startWater_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // A_NUM
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aNum = iprot.readString();
                struct.setANumIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startWater_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        if (struct.aNum != null) {
          oprot.writeFieldBegin(A_NUM_FIELD_DESC);
          oprot.writeString(struct.aNum);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startWater_argsTupleSchemeFactory implements SchemeFactory {
      public startWater_argsTupleScheme getScheme() {
        return new startWater_argsTupleScheme();
      }
    }

    private static class startWater_argsTupleScheme extends TupleScheme<startWater_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startWater_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        if (struct.isSetANum()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
        if (struct.isSetANum()) {
          oprot.writeString(struct.aNum);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startWater_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
        if (incoming.get(1)) {
          struct.aNum = iprot.readString();
          struct.setANumIsSet(true);
        }
      }
    }

  }

  public static class startWater_result implements org.apache.thrift.TBase<startWater_result, startWater_result._Fields>, java.io.Serializable, Cloneable, Comparable<startWater_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startWater_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new startWater_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new startWater_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startWater_result.class, metaDataMap);
    }

    public startWater_result() {
    }

    public startWater_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public startWater_result(startWater_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public startWater_result deepCopy() {
      return new startWater_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public startWater_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof startWater_result)
        return this.equals((startWater_result)that);
      return false;
    }

    public boolean equals(startWater_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(startWater_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("startWater_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class startWater_resultStandardSchemeFactory implements SchemeFactory {
      public startWater_resultStandardScheme getScheme() {
        return new startWater_resultStandardScheme();
      }
    }

    private static class startWater_resultStandardScheme extends StandardScheme<startWater_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, startWater_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, startWater_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class startWater_resultTupleSchemeFactory implements SchemeFactory {
      public startWater_resultTupleScheme getScheme() {
        return new startWater_resultTupleScheme();
      }
    }

    private static class startWater_resultTupleScheme extends TupleScheme<startWater_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, startWater_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, startWater_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class stopWater_args implements org.apache.thrift.TBase<stopWater_args, stopWater_args._Fields>, java.io.Serializable, Cloneable, Comparable<stopWater_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopWater_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField A_NUM_FIELD_DESC = new org.apache.thrift.protocol.TField("aNum", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopWater_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopWater_argsTupleSchemeFactory());
    }

    public String aCard; // required
    public String aNum; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard"),
      A_NUM((short)2, "aNum");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          case 2: // A_NUM
            return A_NUM;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.A_NUM, new org.apache.thrift.meta_data.FieldMetaData("aNum", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopWater_args.class, metaDataMap);
    }

    public stopWater_args() {
    }

    public stopWater_args(
      String aCard,
      String aNum)
    {
      this();
      this.aCard = aCard;
      this.aNum = aNum;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopWater_args(stopWater_args other) {
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
      if (other.isSetANum()) {
        this.aNum = other.aNum;
      }
    }

    public stopWater_args deepCopy() {
      return new stopWater_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
      this.aNum = null;
    }

    public String getACard() {
      return this.aCard;
    }

    public stopWater_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public String getANum() {
      return this.aNum;
    }

    public stopWater_args setANum(String aNum) {
      this.aNum = aNum;
      return this;
    }

    public void unsetANum() {
      this.aNum = null;
    }

    /** Returns true if field aNum is set (has been assigned a value) and false otherwise */
    public boolean isSetANum() {
      return this.aNum != null;
    }

    public void setANumIsSet(boolean value) {
      if (!value) {
        this.aNum = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      case A_NUM:
        if (value == null) {
          unsetANum();
        } else {
          setANum((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      case A_NUM:
        return getANum();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      case A_NUM:
        return isSetANum();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopWater_args)
        return this.equals((stopWater_args)that);
      return false;
    }

    public boolean equals(stopWater_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      boolean this_present_aNum = true && this.isSetANum();
      boolean that_present_aNum = true && that.isSetANum();
      if (this_present_aNum || that_present_aNum) {
        if (!(this_present_aNum && that_present_aNum))
          return false;
        if (!this.aNum.equals(that.aNum))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(stopWater_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetANum()).compareTo(other.isSetANum());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetANum()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aNum, other.aNum);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopWater_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aNum:");
      if (this.aNum == null) {
        sb.append("null");
      } else {
        sb.append(this.aNum);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopWater_argsStandardSchemeFactory implements SchemeFactory {
      public stopWater_argsStandardScheme getScheme() {
        return new stopWater_argsStandardScheme();
      }
    }

    private static class stopWater_argsStandardScheme extends StandardScheme<stopWater_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopWater_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // A_NUM
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aNum = iprot.readString();
                struct.setANumIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopWater_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        if (struct.aNum != null) {
          oprot.writeFieldBegin(A_NUM_FIELD_DESC);
          oprot.writeString(struct.aNum);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopWater_argsTupleSchemeFactory implements SchemeFactory {
      public stopWater_argsTupleScheme getScheme() {
        return new stopWater_argsTupleScheme();
      }
    }

    private static class stopWater_argsTupleScheme extends TupleScheme<stopWater_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopWater_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        if (struct.isSetANum()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
        if (struct.isSetANum()) {
          oprot.writeString(struct.aNum);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopWater_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
        if (incoming.get(1)) {
          struct.aNum = iprot.readString();
          struct.setANumIsSet(true);
        }
      }
    }

  }

  public static class stopWater_result implements org.apache.thrift.TBase<stopWater_result, stopWater_result._Fields>, java.io.Serializable, Cloneable, Comparable<stopWater_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("stopWater_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new stopWater_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new stopWater_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(stopWater_result.class, metaDataMap);
    }

    public stopWater_result() {
    }

    public stopWater_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public stopWater_result(stopWater_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public stopWater_result deepCopy() {
      return new stopWater_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public stopWater_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof stopWater_result)
        return this.equals((stopWater_result)that);
      return false;
    }

    public boolean equals(stopWater_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(stopWater_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("stopWater_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class stopWater_resultStandardSchemeFactory implements SchemeFactory {
      public stopWater_resultStandardScheme getScheme() {
        return new stopWater_resultStandardScheme();
      }
    }

    private static class stopWater_resultStandardScheme extends StandardScheme<stopWater_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, stopWater_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, stopWater_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class stopWater_resultTupleSchemeFactory implements SchemeFactory {
      public stopWater_resultTupleScheme getScheme() {
        return new stopWater_resultTupleScheme();
      }
    }

    private static class stopWater_resultTupleScheme extends TupleScheme<stopWater_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, stopWater_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, stopWater_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class reqDevInfo_args implements org.apache.thrift.TBase<reqDevInfo_args, reqDevInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<reqDevInfo_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqDevInfo_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField A_NUM_FIELD_DESC = new org.apache.thrift.protocol.TField("aNum", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqDevInfo_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqDevInfo_argsTupleSchemeFactory());
    }

    public String aCard; // required
    public String aNum; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard"),
      A_NUM((short)2, "aNum");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          case 2: // A_NUM
            return A_NUM;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.A_NUM, new org.apache.thrift.meta_data.FieldMetaData("aNum", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqDevInfo_args.class, metaDataMap);
    }

    public reqDevInfo_args() {
    }

    public reqDevInfo_args(
      String aCard,
      String aNum)
    {
      this();
      this.aCard = aCard;
      this.aNum = aNum;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqDevInfo_args(reqDevInfo_args other) {
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
      if (other.isSetANum()) {
        this.aNum = other.aNum;
      }
    }

    public reqDevInfo_args deepCopy() {
      return new reqDevInfo_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
      this.aNum = null;
    }

    public String getACard() {
      return this.aCard;
    }

    public reqDevInfo_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public String getANum() {
      return this.aNum;
    }

    public reqDevInfo_args setANum(String aNum) {
      this.aNum = aNum;
      return this;
    }

    public void unsetANum() {
      this.aNum = null;
    }

    /** Returns true if field aNum is set (has been assigned a value) and false otherwise */
    public boolean isSetANum() {
      return this.aNum != null;
    }

    public void setANumIsSet(boolean value) {
      if (!value) {
        this.aNum = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      case A_NUM:
        if (value == null) {
          unsetANum();
        } else {
          setANum((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      case A_NUM:
        return getANum();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      case A_NUM:
        return isSetANum();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqDevInfo_args)
        return this.equals((reqDevInfo_args)that);
      return false;
    }

    public boolean equals(reqDevInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      boolean this_present_aNum = true && this.isSetANum();
      boolean that_present_aNum = true && that.isSetANum();
      if (this_present_aNum || that_present_aNum) {
        if (!(this_present_aNum && that_present_aNum))
          return false;
        if (!this.aNum.equals(that.aNum))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqDevInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetANum()).compareTo(other.isSetANum());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetANum()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aNum, other.aNum);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqDevInfo_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aNum:");
      if (this.aNum == null) {
        sb.append("null");
      } else {
        sb.append(this.aNum);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqDevInfo_argsStandardSchemeFactory implements SchemeFactory {
      public reqDevInfo_argsStandardScheme getScheme() {
        return new reqDevInfo_argsStandardScheme();
      }
    }

    private static class reqDevInfo_argsStandardScheme extends StandardScheme<reqDevInfo_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqDevInfo_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // A_NUM
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aNum = iprot.readString();
                struct.setANumIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqDevInfo_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        if (struct.aNum != null) {
          oprot.writeFieldBegin(A_NUM_FIELD_DESC);
          oprot.writeString(struct.aNum);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqDevInfo_argsTupleSchemeFactory implements SchemeFactory {
      public reqDevInfo_argsTupleScheme getScheme() {
        return new reqDevInfo_argsTupleScheme();
      }
    }

    private static class reqDevInfo_argsTupleScheme extends TupleScheme<reqDevInfo_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqDevInfo_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        if (struct.isSetANum()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
        if (struct.isSetANum()) {
          oprot.writeString(struct.aNum);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqDevInfo_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
        if (incoming.get(1)) {
          struct.aNum = iprot.readString();
          struct.setANumIsSet(true);
        }
      }
    }

  }

  public static class reqDevInfo_result implements org.apache.thrift.TBase<reqDevInfo_result, reqDevInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<reqDevInfo_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqDevInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqDevInfo_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqDevInfo_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqDevInfo_result.class, metaDataMap);
    }

    public reqDevInfo_result() {
    }

    public reqDevInfo_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqDevInfo_result(reqDevInfo_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public reqDevInfo_result deepCopy() {
      return new reqDevInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public reqDevInfo_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqDevInfo_result)
        return this.equals((reqDevInfo_result)that);
      return false;
    }

    public boolean equals(reqDevInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqDevInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqDevInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqDevInfo_resultStandardSchemeFactory implements SchemeFactory {
      public reqDevInfo_resultStandardScheme getScheme() {
        return new reqDevInfo_resultStandardScheme();
      }
    }

    private static class reqDevInfo_resultStandardScheme extends StandardScheme<reqDevInfo_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqDevInfo_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqDevInfo_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqDevInfo_resultTupleSchemeFactory implements SchemeFactory {
      public reqDevInfo_resultTupleScheme getScheme() {
        return new reqDevInfo_resultTupleScheme();
      }
    }

    private static class reqDevInfo_resultTupleScheme extends TupleScheme<reqDevInfo_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqDevInfo_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqDevInfo_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class reqListOfDeal_args implements org.apache.thrift.TBase<reqListOfDeal_args, reqListOfDeal_args._Fields>, java.io.Serializable, Cloneable, Comparable<reqListOfDeal_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqListOfDeal_args");

    private static final org.apache.thrift.protocol.TField A_CARD_FIELD_DESC = new org.apache.thrift.protocol.TField("aCard", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField A_IDX_FIELD_DESC = new org.apache.thrift.protocol.TField("aIdx", org.apache.thrift.protocol.TType.STRING, (short)2);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqListOfDeal_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqListOfDeal_argsTupleSchemeFactory());
    }

    public String aCard; // required
    public String aIdx; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_CARD((short)1, "aCard"),
      A_IDX((short)2, "aIdx");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_CARD
            return A_CARD;
          case 2: // A_IDX
            return A_IDX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_CARD, new org.apache.thrift.meta_data.FieldMetaData("aCard", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.A_IDX, new org.apache.thrift.meta_data.FieldMetaData("aIdx", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqListOfDeal_args.class, metaDataMap);
    }

    public reqListOfDeal_args() {
    }

    public reqListOfDeal_args(
      String aCard,
      String aIdx)
    {
      this();
      this.aCard = aCard;
      this.aIdx = aIdx;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqListOfDeal_args(reqListOfDeal_args other) {
      if (other.isSetACard()) {
        this.aCard = other.aCard;
      }
      if (other.isSetAIdx()) {
        this.aIdx = other.aIdx;
      }
    }

    public reqListOfDeal_args deepCopy() {
      return new reqListOfDeal_args(this);
    }

    @Override
    public void clear() {
      this.aCard = null;
      this.aIdx = null;
    }

    public String getACard() {
      return this.aCard;
    }

    public reqListOfDeal_args setACard(String aCard) {
      this.aCard = aCard;
      return this;
    }

    public void unsetACard() {
      this.aCard = null;
    }

    /** Returns true if field aCard is set (has been assigned a value) and false otherwise */
    public boolean isSetACard() {
      return this.aCard != null;
    }

    public void setACardIsSet(boolean value) {
      if (!value) {
        this.aCard = null;
      }
    }

    public String getAIdx() {
      return this.aIdx;
    }

    public reqListOfDeal_args setAIdx(String aIdx) {
      this.aIdx = aIdx;
      return this;
    }

    public void unsetAIdx() {
      this.aIdx = null;
    }

    /** Returns true if field aIdx is set (has been assigned a value) and false otherwise */
    public boolean isSetAIdx() {
      return this.aIdx != null;
    }

    public void setAIdxIsSet(boolean value) {
      if (!value) {
        this.aIdx = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_CARD:
        if (value == null) {
          unsetACard();
        } else {
          setACard((String)value);
        }
        break;

      case A_IDX:
        if (value == null) {
          unsetAIdx();
        } else {
          setAIdx((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_CARD:
        return getACard();

      case A_IDX:
        return getAIdx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_CARD:
        return isSetACard();
      case A_IDX:
        return isSetAIdx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqListOfDeal_args)
        return this.equals((reqListOfDeal_args)that);
      return false;
    }

    public boolean equals(reqListOfDeal_args that) {
      if (that == null)
        return false;

      boolean this_present_aCard = true && this.isSetACard();
      boolean that_present_aCard = true && that.isSetACard();
      if (this_present_aCard || that_present_aCard) {
        if (!(this_present_aCard && that_present_aCard))
          return false;
        if (!this.aCard.equals(that.aCard))
          return false;
      }

      boolean this_present_aIdx = true && this.isSetAIdx();
      boolean that_present_aIdx = true && that.isSetAIdx();
      if (this_present_aIdx || that_present_aIdx) {
        if (!(this_present_aIdx && that_present_aIdx))
          return false;
        if (!this.aIdx.equals(that.aIdx))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqListOfDeal_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetACard()).compareTo(other.isSetACard());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetACard()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aCard, other.aCard);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAIdx()).compareTo(other.isSetAIdx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAIdx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aIdx, other.aIdx);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqListOfDeal_args(");
      boolean first = true;

      sb.append("aCard:");
      if (this.aCard == null) {
        sb.append("null");
      } else {
        sb.append(this.aCard);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aIdx:");
      if (this.aIdx == null) {
        sb.append("null");
      } else {
        sb.append(this.aIdx);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqListOfDeal_argsStandardSchemeFactory implements SchemeFactory {
      public reqListOfDeal_argsStandardScheme getScheme() {
        return new reqListOfDeal_argsStandardScheme();
      }
    }

    private static class reqListOfDeal_argsStandardScheme extends StandardScheme<reqListOfDeal_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqListOfDeal_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_CARD
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aCard = iprot.readString();
                struct.setACardIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // A_IDX
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aIdx = iprot.readString();
                struct.setAIdxIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqListOfDeal_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aCard != null) {
          oprot.writeFieldBegin(A_CARD_FIELD_DESC);
          oprot.writeString(struct.aCard);
          oprot.writeFieldEnd();
        }
        if (struct.aIdx != null) {
          oprot.writeFieldBegin(A_IDX_FIELD_DESC);
          oprot.writeString(struct.aIdx);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqListOfDeal_argsTupleSchemeFactory implements SchemeFactory {
      public reqListOfDeal_argsTupleScheme getScheme() {
        return new reqListOfDeal_argsTupleScheme();
      }
    }

    private static class reqListOfDeal_argsTupleScheme extends TupleScheme<reqListOfDeal_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqListOfDeal_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetACard()) {
          optionals.set(0);
        }
        if (struct.isSetAIdx()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetACard()) {
          oprot.writeString(struct.aCard);
        }
        if (struct.isSetAIdx()) {
          oprot.writeString(struct.aIdx);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqListOfDeal_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.aCard = iprot.readString();
          struct.setACardIsSet(true);
        }
        if (incoming.get(1)) {
          struct.aIdx = iprot.readString();
          struct.setAIdxIsSet(true);
        }
      }
    }

  }

  public static class reqListOfDeal_result implements org.apache.thrift.TBase<reqListOfDeal_result, reqListOfDeal_result._Fields>, java.io.Serializable, Cloneable, Comparable<reqListOfDeal_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqListOfDeal_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqListOfDeal_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqListOfDeal_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqListOfDeal_result.class, metaDataMap);
    }

    public reqListOfDeal_result() {
    }

    public reqListOfDeal_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqListOfDeal_result(reqListOfDeal_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public reqListOfDeal_result deepCopy() {
      return new reqListOfDeal_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public reqListOfDeal_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqListOfDeal_result)
        return this.equals((reqListOfDeal_result)that);
      return false;
    }

    public boolean equals(reqListOfDeal_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqListOfDeal_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqListOfDeal_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqListOfDeal_resultStandardSchemeFactory implements SchemeFactory {
      public reqListOfDeal_resultStandardScheme getScheme() {
        return new reqListOfDeal_resultStandardScheme();
      }
    }

    private static class reqListOfDeal_resultStandardScheme extends StandardScheme<reqListOfDeal_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqListOfDeal_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqListOfDeal_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqListOfDeal_resultTupleSchemeFactory implements SchemeFactory {
      public reqListOfDeal_resultTupleScheme getScheme() {
        return new reqListOfDeal_resultTupleScheme();
      }
    }

    private static class reqListOfDeal_resultTupleScheme extends TupleScheme<reqListOfDeal_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqListOfDeal_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqListOfDeal_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class reqDealDetail_args implements org.apache.thrift.TBase<reqDealDetail_args, reqDealDetail_args._Fields>, java.io.Serializable, Cloneable, Comparable<reqDealDetail_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqDealDetail_args");

    private static final org.apache.thrift.protocol.TField A_ORDER_NUM_FIELD_DESC = new org.apache.thrift.protocol.TField("aOrderNum", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqDealDetail_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqDealDetail_argsTupleSchemeFactory());
    }

    public String aOrderNum; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_ORDER_NUM((short)1, "aOrderNum");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_ORDER_NUM
            return A_ORDER_NUM;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_ORDER_NUM, new org.apache.thrift.meta_data.FieldMetaData("aOrderNum", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqDealDetail_args.class, metaDataMap);
    }

    public reqDealDetail_args() {
    }

    public reqDealDetail_args(
      String aOrderNum)
    {
      this();
      this.aOrderNum = aOrderNum;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqDealDetail_args(reqDealDetail_args other) {
      if (other.isSetAOrderNum()) {
        this.aOrderNum = other.aOrderNum;
      }
    }

    public reqDealDetail_args deepCopy() {
      return new reqDealDetail_args(this);
    }

    @Override
    public void clear() {
      this.aOrderNum = null;
    }

    public String getAOrderNum() {
      return this.aOrderNum;
    }

    public reqDealDetail_args setAOrderNum(String aOrderNum) {
      this.aOrderNum = aOrderNum;
      return this;
    }

    public void unsetAOrderNum() {
      this.aOrderNum = null;
    }

    /** Returns true if field aOrderNum is set (has been assigned a value) and false otherwise */
    public boolean isSetAOrderNum() {
      return this.aOrderNum != null;
    }

    public void setAOrderNumIsSet(boolean value) {
      if (!value) {
        this.aOrderNum = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_ORDER_NUM:
        if (value == null) {
          unsetAOrderNum();
        } else {
          setAOrderNum((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_ORDER_NUM:
        return getAOrderNum();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_ORDER_NUM:
        return isSetAOrderNum();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqDealDetail_args)
        return this.equals((reqDealDetail_args)that);
      return false;
    }

    public boolean equals(reqDealDetail_args that) {
      if (that == null)
        return false;

      boolean this_present_aOrderNum = true && this.isSetAOrderNum();
      boolean that_present_aOrderNum = true && that.isSetAOrderNum();
      if (this_present_aOrderNum || that_present_aOrderNum) {
        if (!(this_present_aOrderNum && that_present_aOrderNum))
          return false;
        if (!this.aOrderNum.equals(that.aOrderNum))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqDealDetail_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetAOrderNum()).compareTo(other.isSetAOrderNum());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAOrderNum()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aOrderNum, other.aOrderNum);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqDealDetail_args(");
      boolean first = true;

      sb.append("aOrderNum:");
      if (this.aOrderNum == null) {
        sb.append("null");
      } else {
        sb.append(this.aOrderNum);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqDealDetail_argsStandardSchemeFactory implements SchemeFactory {
      public reqDealDetail_argsStandardScheme getScheme() {
        return new reqDealDetail_argsStandardScheme();
      }
    }

    private static class reqDealDetail_argsStandardScheme extends StandardScheme<reqDealDetail_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqDealDetail_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_ORDER_NUM
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aOrderNum = iprot.readString();
                struct.setAOrderNumIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqDealDetail_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aOrderNum != null) {
          oprot.writeFieldBegin(A_ORDER_NUM_FIELD_DESC);
          oprot.writeString(struct.aOrderNum);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqDealDetail_argsTupleSchemeFactory implements SchemeFactory {
      public reqDealDetail_argsTupleScheme getScheme() {
        return new reqDealDetail_argsTupleScheme();
      }
    }

    private static class reqDealDetail_argsTupleScheme extends TupleScheme<reqDealDetail_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqDealDetail_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetAOrderNum()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetAOrderNum()) {
          oprot.writeString(struct.aOrderNum);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqDealDetail_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aOrderNum = iprot.readString();
          struct.setAOrderNumIsSet(true);
        }
      }
    }

  }

  public static class reqDealDetail_result implements org.apache.thrift.TBase<reqDealDetail_result, reqDealDetail_result._Fields>, java.io.Serializable, Cloneable, Comparable<reqDealDetail_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reqDealDetail_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new reqDealDetail_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new reqDealDetail_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reqDealDetail_result.class, metaDataMap);
    }

    public reqDealDetail_result() {
    }

    public reqDealDetail_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reqDealDetail_result(reqDealDetail_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public reqDealDetail_result deepCopy() {
      return new reqDealDetail_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public reqDealDetail_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reqDealDetail_result)
        return this.equals((reqDealDetail_result)that);
      return false;
    }

    public boolean equals(reqDealDetail_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(reqDealDetail_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reqDealDetail_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class reqDealDetail_resultStandardSchemeFactory implements SchemeFactory {
      public reqDealDetail_resultStandardScheme getScheme() {
        return new reqDealDetail_resultStandardScheme();
      }
    }

    private static class reqDealDetail_resultStandardScheme extends StandardScheme<reqDealDetail_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, reqDealDetail_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, reqDealDetail_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class reqDealDetail_resultTupleSchemeFactory implements SchemeFactory {
      public reqDealDetail_resultTupleScheme getScheme() {
        return new reqDealDetail_resultTupleScheme();
      }
    }

    private static class reqDealDetail_resultTupleScheme extends TupleScheme<reqDealDetail_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, reqDealDetail_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, reqDealDetail_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class dealPrint_args implements org.apache.thrift.TBase<dealPrint_args, dealPrint_args._Fields>, java.io.Serializable, Cloneable, Comparable<dealPrint_args>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("dealPrint_args");

    private static final org.apache.thrift.protocol.TField A_ORDER_NUM_FIELD_DESC = new org.apache.thrift.protocol.TField("aOrderNum", org.apache.thrift.protocol.TType.STRING, (short)1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new dealPrint_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new dealPrint_argsTupleSchemeFactory());
    }

    public String aOrderNum; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      A_ORDER_NUM((short)1, "aOrderNum");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // A_ORDER_NUM
            return A_ORDER_NUM;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.A_ORDER_NUM, new org.apache.thrift.meta_data.FieldMetaData("aOrderNum", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(dealPrint_args.class, metaDataMap);
    }

    public dealPrint_args() {
    }

    public dealPrint_args(
      String aOrderNum)
    {
      this();
      this.aOrderNum = aOrderNum;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public dealPrint_args(dealPrint_args other) {
      if (other.isSetAOrderNum()) {
        this.aOrderNum = other.aOrderNum;
      }
    }

    public dealPrint_args deepCopy() {
      return new dealPrint_args(this);
    }

    @Override
    public void clear() {
      this.aOrderNum = null;
    }

    public String getAOrderNum() {
      return this.aOrderNum;
    }

    public dealPrint_args setAOrderNum(String aOrderNum) {
      this.aOrderNum = aOrderNum;
      return this;
    }

    public void unsetAOrderNum() {
      this.aOrderNum = null;
    }

    /** Returns true if field aOrderNum is set (has been assigned a value) and false otherwise */
    public boolean isSetAOrderNum() {
      return this.aOrderNum != null;
    }

    public void setAOrderNumIsSet(boolean value) {
      if (!value) {
        this.aOrderNum = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case A_ORDER_NUM:
        if (value == null) {
          unsetAOrderNum();
        } else {
          setAOrderNum((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case A_ORDER_NUM:
        return getAOrderNum();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case A_ORDER_NUM:
        return isSetAOrderNum();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof dealPrint_args)
        return this.equals((dealPrint_args)that);
      return false;
    }

    public boolean equals(dealPrint_args that) {
      if (that == null)
        return false;

      boolean this_present_aOrderNum = true && this.isSetAOrderNum();
      boolean that_present_aOrderNum = true && that.isSetAOrderNum();
      if (this_present_aOrderNum || that_present_aOrderNum) {
        if (!(this_present_aOrderNum && that_present_aOrderNum))
          return false;
        if (!this.aOrderNum.equals(that.aOrderNum))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(dealPrint_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetAOrderNum()).compareTo(other.isSetAOrderNum());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAOrderNum()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aOrderNum, other.aOrderNum);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("dealPrint_args(");
      boolean first = true;

      sb.append("aOrderNum:");
      if (this.aOrderNum == null) {
        sb.append("null");
      } else {
        sb.append(this.aOrderNum);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dealPrint_argsStandardSchemeFactory implements SchemeFactory {
      public dealPrint_argsStandardScheme getScheme() {
        return new dealPrint_argsStandardScheme();
      }
    }

    private static class dealPrint_argsStandardScheme extends StandardScheme<dealPrint_args> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, dealPrint_args struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // A_ORDER_NUM
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.aOrderNum = iprot.readString();
                struct.setAOrderNumIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, dealPrint_args struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aOrderNum != null) {
          oprot.writeFieldBegin(A_ORDER_NUM_FIELD_DESC);
          oprot.writeString(struct.aOrderNum);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dealPrint_argsTupleSchemeFactory implements SchemeFactory {
      public dealPrint_argsTupleScheme getScheme() {
        return new dealPrint_argsTupleScheme();
      }
    }

    private static class dealPrint_argsTupleScheme extends TupleScheme<dealPrint_args> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, dealPrint_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetAOrderNum()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetAOrderNum()) {
          oprot.writeString(struct.aOrderNum);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, dealPrint_args struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aOrderNum = iprot.readString();
          struct.setAOrderNumIsSet(true);
        }
      }
    }

  }

  public static class dealPrint_result implements org.apache.thrift.TBase<dealPrint_result, dealPrint_result._Fields>, java.io.Serializable, Cloneable, Comparable<dealPrint_result>   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("dealPrint_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new dealPrint_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new dealPrint_resultTupleSchemeFactory());
    }

    public String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(dealPrint_result.class, metaDataMap);
    }

    public dealPrint_result() {
    }

    public dealPrint_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public dealPrint_result(dealPrint_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public dealPrint_result deepCopy() {
      return new dealPrint_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public dealPrint_result setSuccess(String success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof dealPrint_result)
        return this.equals((dealPrint_result)that);
      return false;
    }

    public boolean equals(dealPrint_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    @Override
    public int compareTo(dealPrint_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("dealPrint_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dealPrint_resultStandardSchemeFactory implements SchemeFactory {
      public dealPrint_resultStandardScheme getScheme() {
        return new dealPrint_resultStandardScheme();
      }
    }

    private static class dealPrint_resultStandardScheme extends StandardScheme<dealPrint_result> {

      public void read(org.apache.thrift.protocol.TProtocol iprot, dealPrint_result struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.setSuccessIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(org.apache.thrift.protocol.TProtocol oprot, dealPrint_result struct) throws org.apache.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeString(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dealPrint_resultTupleSchemeFactory implements SchemeFactory {
      public dealPrint_resultTupleScheme getScheme() {
        return new dealPrint_resultTupleScheme();
      }
    }

    private static class dealPrint_resultTupleScheme extends TupleScheme<dealPrint_result> {

      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, dealPrint_result struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeString(struct.success);
        }
      }

      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, dealPrint_result struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

}
